package com.smartcampusbackend.util;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;

@Component
public class ResourceIdGenerator {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    /**
     * 生成8位资源编号
     * @return 8位数字字符串，从00000001开始递增
     */
    public String generateResourceId() {
        // 查询当前最大的资源编号
        String sql = "SELECT MAX(CAST(resource_id AS UNSIGNED)) FROM resource";
        Integer maxId = jdbcTemplate.queryForObject(sql, Integer.class);
        
        // 如果没有记录，从1开始；否则递增1
        int nextId = (maxId == null) ? 1 : maxId + 1;
        
        // 格式化为8位数字字符串
        return String.format("%08d", nextId);
    }

    /**
     * 检查资源编号是否已存在
     * @param resourceId 资源编号
     * @return 是否存在
     */
    public boolean isResourceIdExists(String resourceId) {
        String sql = "SELECT COUNT(*) FROM resource WHERE resource_id = ?";
        Integer count = jdbcTemplate.queryForObject(sql, Integer.class, resourceId);
        return count != null && count > 0;
    }
} 